package com.turing.post.common.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

@Remote
@Local
public interface SysOpRoleDao {

	/**
	 * 查询角色表记录条数
	 * 
	 * @return 记录数
	 */
	public BigInteger getSysOpRoleTotal(PCPSWebInput input, String brchType);

	/**
	 * 新增用户时下拉选择角色列表
	 * 
	 * @return 角色列表
	 */
	public List<SysOpRole> getSysOpRoleList(PCPSWebInput input,
			String roleBranchType);

	/**
	 * 分页查询
	 * 
	 * @param page
	 *            页码
	 * @return 角色列表
	 */
	public List<SysOpRole> getSysOpRoleList(PCPSWebInput input,
			String brchType, Integer page);

	/**
	 * @查询主键最大值
	 * @return
	 */
	public BigInteger getMaxRoleId();

	/**
	 * 查询单条记录
	 * 
	 * @param roleId
	 *            角色编号
	 * @return 角色对象
	 */
	public SysOpRole getSysOpRoleByRoleId(Integer roleId);

	/**
	 * 新增角色记录
	 * 
	 * @param sysOpRole
	 *            角色对象
	 * @throws PCPSApplicationException
	 */
	public void insertSysOpRole(PCPSWebInput input, SysOpRole sysOpRole)
			throws PCPSApplicationException;

	/**
	 * 修改角色记录
	 * 
	 * @param sysOpRole
	 *            角色对象
	 * @throws PCPSApplicationException
	 */
	public void updateSysOpRole(SysOpRole sysOpRole)
			throws PCPSApplicationException;

	/**
	 * 根据主键删除记录
	 * 
	 * @param RoleId
	 * @throws PCPSApplicationException
	 */
	public void deleteSysOpRole(Integer roleId) throws PCPSApplicationException;

}
